home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
IRIX 6.2 Development Libraries
/
SGI IRIX 6.2 Development Libraries.iso
/
dist
/
complib.idb
/
usr
/
share
/
catman
/
p_man
/
cat3
/
complib
/
dgttrf.z
/
dgttrf
Wrap
Text File
|
1996-03-14
|
3KB
|
133 lines
DDDDGGGGTTTTTTTTRRRRFFFF((((3333FFFF)))) DDDDGGGGTTTTTTTTRRRRFFFF((((3333FFFF))))
NNNNAAAAMMMMEEEE
DGTTRF - compute an LU factorization of a real tridiagonal matrix A using
elimination with partial pivoting and row interchanges
SSSSYYYYNNNNOOOOPPPPSSSSIIIISSSS
SUBROUTINE DGTTRF( N, DL, D, DU, DU2, IPIV, INFO )
INTEGER INFO, N
INTEGER IPIV( * )
DOUBLE PRECISION D( * ), DL( * ), DU( * ), DU2( * )
PPPPUUUURRRRPPPPOOOOSSSSEEEE
DGTTRF computes an LU factorization of a real tridiagonal matrix A using
elimination with partial pivoting and row interchanges.
The factorization has the form
A = L * U
where L is a product of permutation and unit lower bidiagonal matrices
and U is upper triangular with nonzeros in only the main diagonal and
first two superdiagonals.
AAAARRRRGGGGUUUUMMMMEEEENNNNTTTTSSSS
N (input) INTEGER
The order of the matrix A. N >= 0.
DL (input/output) DOUBLE PRECISION array, dimension (N-1)
On entry, DL must contain the (n-1) subdiagonal elements of A.
On exit, DL is overwritten by the (n-1) multipliers that define
the matrix L from the LU factorization of A.
D (input/output) DOUBLE PRECISION array, dimension (N)
On entry, D must contain the diagonal elements of A. On exit, D
is overwritten by the n diagonal elements of the upper triangular
matrix U from the LU factorization of A.
DU (input/output) DOUBLE PRECISION array, dimension (N-1)
On entry, DU must contain the (n-1) superdiagonal elements of A.
On exit, DU is overwritten by the (n-1) elements of the first
superdiagonal of U.
DU2 (output) DOUBLE PRECISION array, dimension (N-2)
On exit, DU2 is overwritten by the (n-2) elements of the second
superdiagonal of U.
IPIV (output) INTEGER array, dimension (N)
The pivot indices; for 1 <= i <= n, row i of the matrix was
interchanged with row IPIV(i). IPIV(i) will always be either i
or i+1; IPIV(i) = i indicates a row interchange was not required.
PPPPaaaaggggeeee 1111
DDDDGGGGTTTTTTTTRRRRFFFF((((3333FFFF)))) DDDDGGGGTTTTTTTTRRRRFFFF((((3333FFFF))))
INFO (output) INTEGER
= 0: successful exit
< 0: if INFO = -i, the i-th argument had an illegal value
> 0: if INFO = i, U(i,i) is exactly zero. The factorization has
been completed, but the factor U is exactly singular, and
division by zero will occur if it is used to solve a system of
equations.
PPPPaaaaggggeeee 2222